#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cstring>
typedef long long ll;
const ll MOD=(1<<31);
const int MAXN=1e5+7;
bool is_prime[MAXN];
ll prime[MAXN/2],p_cnt;
ll sum[MAXN],su[MAXN];
void Init() {
	memset(is_prime, 1, sizeof(is_prime));
	p_cnt=0;
	sum[1]=1;
	ll z,tmp;
	for (int i=2; i<MAXN; ++i) {
		if (is_prime[i]) {
			prime[p_cnt++]=i;
			sum[i]=i;
		}
		for (int j=0; j<p_cnt&&i*prime[j]<MAXN; ++j) {
			is_prime[i*prime[j]]=false;
			if (i%prime[j]==0) {
//				z=prime[j];
//				tmp=i;
//				while (tmp%prime[j]==0) {
//					z=(z*prime[j])%MOD;
//					tmp=tmp/prime[j];
//				}
//				sum[i*prime[j]]=(z*sum[tmp])%MOD;
				sum[i*prime[j]]=(prime[j]*sum[i])%MOD;
				break;
			}
			else {
				sum[i*prime[j]]=(prime[j]*sum[i])%MOD;
			}
		}
	}
	su[0]=0;
	for (int i=1; i<MAXN; ++i) su[i]=(sum[i]+su[i-1])%MOD;
}
ll get_res(ll n, ll m) {
	
}
int main() {
	
	return 0;
}
